home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 17258 < prev    next >
Mailbox/MIME Entity  |  1996-08-05  |  3.1 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: Mailbox/MIME Entity (archive/mbox).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert Mailbox/MIME Entity (archive/mbox) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news text default
99% file C++ source text default
98% file C source, ASCII text default
100% checkBytes Printable ASCII default
100% dexmagic PrintFox/Pagefox WEAK default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/950 MIME Email (1.0) default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/news default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 6d 61 | 6e 61 77 61 74 75 2e 70 |Path: ma|nawatu.p|
|00000010| 6c 61 6e 65 74 2e 63 6f | 2e 6e 7a 21 6e 65 77 73 |lanet.co|.nz!news|
|00000020| 0a 46 72 6f 6d 3a 20 67 | 74 68 6f 6d 61 73 40 6d |.From: g|thomas@m|
|00000030| 61 6e 61 77 61 74 75 2e | 67 65 6e 2e 6e 7a 20 28 |anawatu.|gen.nz (|
|00000040| 47 61 72 79 20 54 68 6f | 6d 61 73 29 0a 4e 65 77 |Gary Tho|mas).New|
|00000050| 73 67 72 6f 75 70 73 3a | 20 63 6f 6d 70 2e 6c 61 |sgroups:| comp.la|
|00000060| 6e 67 2e 63 2b 2b 0a 53 | 75 62 6a 65 63 74 3a 20 |ng.c++.S|ubject: |
|00000070| 52 65 3a 20 43 61 6c 6c | 62 61 63 6b 20 46 75 6e |Re: Call|back Fun|
|00000080| 63 74 69 6f 6e 73 20 49 | 6e 20 43 2b 2b 0a 44 61 |ctions I|n C++.Da|
|00000090| 74 65 3a 20 53 75 6e 2c | 20 31 34 20 41 70 72 20 |te: Sun,| 14 Apr |
|000000a0| 31 39 39 36 20 32 31 3a | 31 33 3a 32 38 20 47 4d |1996 21:|13:28 GM|
|000000b0| 54 0a 4f 72 67 61 6e 69 | 7a 61 74 69 6f 6e 3a 20 |T.Organi|zation: |
|000000c0| 50 6c 61 4e 65 74 20 28 | 4e 5a 29 20 4d 61 6e 61 |PlaNet (|NZ) Mana|
|000000d0| 77 61 74 75 2c 20 50 61 | 6c 6d 65 72 73 74 6f 6e |watu, Pa|lmerston|
|000000e0| 20 4e 74 68 2c 20 4e 65 | 77 20 5a 65 61 6c 61 6e | Nth, Ne|w Zealan|
|000000f0| 64 20 2b 36 34 20 36 20 | 33 35 37 2d 39 32 34 35 |d +64 6 |357-9245|
|00000100| 0a 4d 65 73 73 61 67 65 | 2d 49 44 3a 20 3c 34 6b |.Message|-ID: <4k|
|00000110| 72 70 71 66 24 63 38 6c | 40 6e 65 77 73 2e 6d 61 |rpqf$c8l|@news.ma|
|00000120| 6e 61 77 61 74 75 2e 67 | 65 6e 2e 6e 7a 3e 0a 52 |nawatu.g|en.nz>.R|
|00000130| 65 66 65 72 65 6e 63 65 | 73 3a 20 3c 34 6b 64 72 |eference|s: <4kdr|
|00000140| 66 75 24 6b 69 75 40 6d | 6f 72 73 65 2e 75 6b 6f |fu$kiu@m|orse.uko|
|00000150| 6e 6c 69 6e 65 2e 63 6f | 2e 75 6b 3e 20 3c 34 6b |nline.co|.uk> <4k|
|00000160| 6d 62 6f 33 24 38 6d 67 | 40 6e 65 77 73 2d 65 32 |mbo3$8mg|@news-e2|
|00000170| 62 2e 67 6e 6e 2e 63 6f | 6d 3e 0a 52 65 70 6c 79 |b.gnn.co|m>.Reply|
|00000180| 2d 54 6f 3a 20 67 74 68 | 6f 6d 61 73 40 6d 61 6e |-To: gth|omas@man|
|00000190| 61 77 61 74 75 2e 67 65 | 6e 2e 6e 7a 0a 4e 4e 54 |awatu.ge|n.nz.NNT|
|000001a0| 50 2d 50 6f 73 74 69 6e | 67 2d 48 6f 73 74 3a 20 |P-Postin|g-Host: |
|000001b0| 67 74 68 6f 6d 61 73 2e | 6d 61 6e 61 77 61 74 75 |gthomas.|manawatu|
|000001c0| 2e 67 65 6e 2e 6e 7a 0a | 4d 69 6d 65 2d 56 65 72 |.gen.nz.|Mime-Ver|
|000001d0| 73 69 6f 6e 3a 20 31 2e | 30 0a 43 6f 6e 74 65 6e |sion: 1.|0.Conten|
|000001e0| 74 2d 54 79 70 65 3a 20 | 74 65 78 74 2f 70 6c 61 |t-Type: |text/pla|
|000001f0| 69 6e 3b 20 63 68 61 72 | 73 65 74 3d 69 73 6f 2d |in; char|set=iso-|
|00000200| 38 38 35 39 2d 31 0a 43 | 6f 6e 74 65 6e 74 2d 54 |8859-1.C|ontent-T|
|00000210| 72 61 6e 73 66 65 72 2d | 45 6e 63 6f 64 69 6e 67 |ransfer-|Encoding|
|00000220| 3a 20 38 62 69 74 0a 58 | 2d 4e 65 77 73 72 65 61 |: 8bit.X|-Newsrea|
|00000230| 64 65 72 3a 20 46 6f 72 | 74 65 20 46 72 65 65 20 |der: For|te Free |
|00000240| 41 67 65 6e 74 20 31 2e | 30 2e 38 32 0a 0a 3e 41 |Agent 1.|0.82..>A|
|00000250| 6e 64 79 20 57 61 6c 73 | 68 20 77 72 69 74 65 73 |ndy Wals|h writes|
|00000260| 3a 0a 3e 3e 43 61 6e 20 | 61 6e 79 6f 6e 65 20 74 |:.>>Can |anyone t|
|00000270| 65 6c 6c 20 6d 65 20 68 | 6f 77 20 49 20 63 6f 75 |ell me h|ow I cou|
|00000280| 6c 64 20 63 6f 64 65 20 | 61 20 63 61 6c 6c 62 61 |ld code |a callba|
|00000290| 63 6b 20 66 75 6e 63 74 | 69 6f 6e 20 74 68 61 74 |ck funct|ion that|
|000002a0| 20 77 6f 72 6b 73 0a 3e | 3e 69 6e 73 69 64 65 20 | works.>|>inside |
|000002b0| 61 20 63 6c 61 73 73 20 | 61 6e 64 20 74 68 61 74 |a class |and that|
|000002c0| 20 49 20 63 61 6e 20 70 | 61 73 73 20 74 68 65 20 | I can p|ass the |
|000002d0| 61 64 64 72 65 73 73 20 | 6f 66 20 74 6f 20 74 68 |address |of to th|
|000002e0| 65 20 77 61 76 65 49 6e | 4f 70 65 6e 0a 3e 3e 66 |e waveIn|Open.>>f|
|000002f0| 75 6e 63 74 69 6f 6e 2e | 20 20 49 74 20 77 6f 75 |unction.| It wou|
|00000300| 6c 64 20 73 65 65 6d 20 | 74 68 61 74 20 61 20 6d |ld seem |that a m|
|00000310| 65 6d 62 65 72 20 66 75 | 6e 63 74 69 6f 6e 20 63 |ember fu|nction c|
|00000320| 61 72 72 69 65 73 20 61 | 6e 20 65 78 74 72 61 0a |arries a|n extra.|
|00000330| 3e 3e 27 74 68 69 73 27 | 20 70 6f 69 6e 74 65 72 |>>'this'| pointer|
|00000340| 20 61 6e 64 20 73 6f 20 | 63 61 6e 6e 6f 74 20 62 | and so |cannot b|
|00000350| 65 20 61 64 64 72 65 73 | 73 65 64 20 74 68 65 20 |e addres|sed the |
|00000360| 73 61 6d 65 20 61 73 20 | 61 6e 20 6f 72 64 69 6e |same as |an ordin|
|00000370| 61 72 79 0a 3e 3e 66 75 | 6e 63 74 69 6f 6e 2e 20 |ary.>>fu|nction. |
|00000380| 20 0a 0a 54 72 79 20 74 | 68 69 73 3a 0a 0a 2f 2f | ..Try t|his:..//|
|00000390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0a 2f |========|======./|
|000003e0| 2f 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |/ | |
|000003f0| 20 20 20 20 20 20 20 49 | 6d 70 6c 65 6d 65 6e 74 | I|mplement|
|00000400| 61 74 69 6f 6e 20 6f 66 | 20 63 61 6c 6c 62 61 63 |ation of| callbac|
|00000410| 6b 73 2e 0a 2f 2f 0a 2f | 2f 20 43 61 6c 6c 62 61 |ks..//./|/ Callba|
|00000420| 63 6b 20 63 6c 61 73 73 | 2e 20 53 65 65 20 22 54 |ck class|. See "T|
|00000430| 68 65 20 42 65 73 74 20 | 43 2f 43 2b 2b 20 54 69 |he Best |C/C++ Ti|
|00000440| 70 73 20 45 76 65 72 22 | 2c 20 23 31 33 30 0a 2f |ps Ever"|, #130./|
|00000450| 2f 20 55 73 65 64 20 74 | 6f 20 70 61 73 73 20 65 |/ Used t|o pass e|
|00000460| 76 65 6e 74 73 20 62 61 | 63 6b 20 74 6f 20 74 68 |vents ba|ck to th|
|00000470| 65 20 70 61 72 65 6e 74 | 2e 0a 2f 2f 3d 3d 3d 3d |e parent|..//====|
|00000480| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000490| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0a 0a 23 69 66 6e |========|==..#ifn|
|000004d0| 64 65 66 20 43 41 4c 4c | 42 41 43 4b 5f 48 0a 23 |def CALL|BACK_H.#|
|000004e0| 64 65 66 69 6e 65 20 43 | 41 4c 4c 42 41 43 4b 5f |define C|ALLBACK_|
|000004f0| 48 0a 0a 63 6c 61 73 73 | 20 74 49 6e 70 75 74 45 |H..class| tInputE|
|00000500| 76 65 6e 74 3b 0a 0a 63 | 6c 61 73 73 20 74 4d 65 |vent;..c|lass tMe|
|00000510| 6d 62 65 72 46 75 6e 63 | 74 69 6f 6e 0a 7b 0a 09 |mberFunc|tion.{..|
|00000520| 70 75 62 6c 69 63 3a 0a | 09 09 76 69 72 74 75 61 |public:.|..virtua|
|00000530| 6c 20 76 6f 69 64 20 43 | 61 6c 6c 28 29 20 7b 7d |l void C|all() {}|
|00000540| 0a 09 09 76 69 72 74 75 | 61 6c 20 76 6f 69 64 20 |...virtu|al void |
|00000550| 43 61 6c 6c 45 76 65 6e | 74 28 74 49 6e 70 75 74 |CallEven|t(tInput|
|00000560| 45 76 65 6e 74 26 29 20 | 7b 7d 0a 7d 3b 0a 0a 74 |Event&) |{}.};..t|
|00000570| 65 6d 70 6c 61 74 65 3c | 63 6c 61 73 73 20 54 3e |emplate<|class T>|
|00000580| 0a 63 6c 61 73 73 20 74 | 43 61 6c 6c 62 61 63 6b |.class t|Callback|
|00000590| 20 3a 20 70 75 62 6c 69 | 63 20 74 4d 65 6d 62 65 | : publi|c tMembe|
|000005a0| 72 46 75 6e 63 74 69 6f | 6e 0a 7b 0a 09 70 75 62 |rFunctio|n.{..pub|
|000005b0| 6c 69 63 3a 0a 09 09 74 | 43 61 6c 6c 62 61 63 6b |lic:...t|Callback|
|000005c0| 20 28 29 20 3a 20 49 6e | 73 74 61 6e 63 65 28 30 | () : In|stance(0|
|000005d0| 29 2c 20 46 75 6e 63 28 | 30 29 20 7b 7d 0a 09 09 |), Func(|0) {}...|
|000005e0| 74 43 61 6c 6c 62 61 63 | 6b 20 28 54 2a 20 49 6e |tCallbac|k (T* In|
|000005f0| 73 74 61 6e 63 65 2c 20 | 76 6f 69 64 20 28 54 3a |stance, |void (T:|
|00000600| 3a 2a 46 75 6e 63 29 28 | 29 29 0a 09 09 09 3a 20 |:*Func)(|))....: |
|00000610| 49 6e 73 74 61 6e 63 65 | 28 49 6e 73 74 61 6e 63 |Instance|(Instanc|
|00000620| 65 29 2c 20 46 75 6e 63 | 28 46 75 6e 63 29 20 7b |e), Func|(Func) {|
|00000630| 7d 0a 0a 09 09 76 69 72 | 74 75 61 6c 20 76 6f 69 |}....vir|tual voi|
|00000640| 64 20 43 61 6c 6c 28 29 | 20 20 7b 20 28 49 6e 73 |d Call()| { (Ins|
|00000650| 74 61 6e 63 65 2d 3e 2a | 46 75 6e 63 29 28 29 3b |tance->*|Func)();|
|00000660| 20 20 7d 0a 09 09 76 6f | 69 64 20 53 65 74 20 28 | }...vo|id Set (|
|00000670| 54 2a 20 49 6e 73 74 2c | 20 76 6f 69 64 20 28 54 |T* Inst,| void (T|
|00000680| 3a 3a 2a 46 6e 29 28 29 | 29 0a 09 09 09 7b 20 49 |::*Fn)()|)....{ I|
|00000690| 6e 73 74 61 6e 63 65 20 | 3d 20 49 6e 73 74 3b 20 |nstance |= Inst; |
|000006a0| 46 75 6e 63 20 3d 20 46 | 6e 3b 20 7d 0a 09 70 72 |Func = F|n; }..pr|
|000006b0| 69 76 61 74 65 3a 0a 09 | 09 54 2a 20 49 6e 73 74 |ivate:..|.T* Inst|
|000006c0| 61 6e 63 65 3b 0a 09 09 | 76 6f 69 64 20 28 54 3a |ance;...|void (T:|
|000006d0| 3a 2a 46 75 6e 63 29 28 | 29 3b 0a 7d 0a 0a 74 65 |:*Func)(|);.}..te|
|000006e0| 6d 70 6c 61 74 65 3c 63 | 6c 61 73 73 20 54 3e 0a |mplate<c|lass T>.|
|000006f0| 63 6c 61 73 73 20 74 45 | 76 65 6e 74 43 61 6c 6c |class tE|ventCall|
|00000700| 62 61 63 6b 20 3a 20 70 | 75 62 6c 69 63 20 74 4d |back : p|ublic tM|
|00000710| 65 6d 62 65 72 46 75 6e | 63 74 69 6f 6e 0a 7b 0a |emberFun|ction.{.|
|00000720| 09 70 75 62 6c 69 63 3a | 0a 09 09 74 45 76 65 6e |.public:|...tEven|
|00000730| 74 43 61 6c 6c 62 61 63 | 6b 20 28 54 2a 20 49 6e |tCallbac|k (T* In|
|00000740| 73 74 61 6e 63 65 2c 20 | 76 6f 69 64 20 28 54 3a |stance, |void (T:|
|00000750| 3a 2a 46 75 6e 63 29 28 | 74 49 6e 70 75 74 45 76 |:*Func)(|tInputEv|
|00000760| 65 6e 74 26 29 29 0a 09 | 09 09 3a 20 49 6e 73 74 |ent&))..|..: Inst|
|00000770| 61 6e 63 65 28 49 6e 73 | 74 61 6e 63 65 29 2c 20 |ance(Ins|tance), |
|00000780| 46 75 6e 63 28 46 75 6e | 63 29 20 7b 7d 0a 0a 09 |Func(Fun|c) {}...|
|00000790| 09 76 69 72 74 75 61 6c | 20 76 6f 69 64 20 43 61 |.virtual| void Ca|
|000007a0| 6c 6c 45 76 65 6e 74 28 | 74 49 6e 70 75 74 45 76 |llEvent(|tInputEv|
|000007b0| 65 6e 74 26 20 45 76 65 | 6e 74 29 20 20 7b 0a 28 |ent& Eve|nt) {.(|
|000007c0| 49 6e 73 74 61 6e 63 65 | 2d 3e 2a 46 75 6e 63 29 |Instance|->*Func)|
|000007d0| 28 45 76 65 6e 74 29 3b | 20 20 7d 0a 0a 09 70 72 |(Event);| }...pr|
|000007e0| 69 76 61 74 65 3a 0a 09 | 09 54 2a 20 49 6e 73 74 |ivate:..|.T* Inst|
|000007f0| 61 6e 63 65 3b 0a 09 09 | 76 6f 69 64 20 28 54 3a |ance;...|void (T:|
|00000800| 3a 2a 46 75 6e 63 29 28 | 74 49 6e 70 75 74 45 76 |:*Func)(|tInputEv|
|00000810| 65 6e 74 26 29 3b 0a 7d | 0a 0a 2f 2a 20 55 53 41 |ent&);.}|../* USA|
|00000820| 47 45 3a 0a 0a 09 09 54 | 68 65 20 22 70 61 72 65 |GE:....T|he "pare|
|00000830| 6e 74 22 20 6f 62 6a 65 | 63 74 20 73 68 6f 75 6c |nt" obje|ct shoul|
|00000840| 64 2c 20 66 6f 72 20 65 | 61 63 68 20 22 63 68 69 |d, for e|ach "chi|
|00000850| 6c 64 22 20 6f 62 6a 65 | 63 74 20 63 61 6c 6c 62 |ld" obje|ct callb|
|00000860| 61 63 6b 2c 0a 09 09 64 | 65 63 6c 61 72 65 20 61 |ack,...d|eclare a|
|00000870| 20 43 61 6c 6c 62 61 63 | 6b 20 6f 62 6a 65 63 74 | Callbac|k object|
|00000880| 2c 20 61 6e 64 20 70 61 | 73 73 20 61 20 70 6f 69 |, and pa|ss a poi|
|00000890| 6e 74 65 72 20 74 6f 20 | 74 68 61 74 20 43 61 6c |nter to |that Cal|
|000008a0| 6c 62 61 63 6b 0a 09 09 | 6f 62 6a 65 63 74 20 77 |lback...|object w|
|000008b0| 68 65 6e 20 74 68 65 20 | 63 68 69 6c 64 20 6f 62 |hen the |child ob|
|000008c0| 6a 65 63 74 20 69 73 20 | 69 6e 69 74 69 61 6c 69 |ject is |initiali|
|000008d0| 7a 65 64 2e 20 54 6f 20 | 69 6e 76 6f 6b 65 20 74 |zed. To |invoke t|
|000008e0| 68 65 0a 09 09 63 61 6c | 6c 62 61 63 6b 2c 20 74 |he...cal|lback, t|
|000008f0| 68 65 20 63 68 69 6c 64 | 20 69 6e 76 6f 6b 65 73 |he child| invokes|
|00000900| 20 74 68 65 20 43 61 6c | 6c 62 61 63 6b 20 6f 62 | the Cal|lback ob|
|00000910| 6a 65 63 74 27 73 20 43 | 61 6c 6c 20 66 75 6e 63 |ject's C|all func|
|00000920| 74 69 6f 6e 2e 0a 09 09 | 46 6f 72 20 65 78 61 6d |tion....|For exam|
|00000930| 70 6c 65 3a 0a 0a 09 09 | 09 63 6c 61 73 73 20 74 |ple:....|.class t|
|00000940| 43 68 69 6c 64 0a 09 09 | 09 7b 0a 09 09 09 09 70 |Child...|.{.....p|
|00000950| 75 62 6c 69 63 3a 0a 09 | 09 09 09 09 2f 2f 20 53 |ublic:..|....// S|
|00000960| 65 74 20 74 68 65 20 63 | 61 6c 6c 62 61 63 6b 20 |et the c|allback |
|00000970| 6f 6e 20 69 6e 69 74 69 | 61 6c 69 7a 61 74 69 6f |on initi|alizatio|
|00000980| 6e 3a 0a 09 09 09 09 09 | 74 43 68 69 6c 64 20 28 |n:......|tChild (|
|00000990| 74 4d 65 6d 62 65 72 46 | 75 6e 63 74 69 6f 6e 26 |tMemberF|unction&|
|000009a0| 20 4d 46 52 65 66 29 20 | 3a 20 4d 46 28 26 4d 46 | MFRef) |: MF(&MF|
|000009b0| 52 65 66 29 20 7b 7d 0a | 09 09 09 09 09 2f 2f 20 |Ref) {}.|.....// |
|000009c0| 44 65 63 6c 61 72 65 20 | 74 68 65 20 63 61 6c 6c |Declare |the call|
|000009d0| 62 61 63 6b 20 61 63 74 | 69 6f 6e 3a 0a 09 09 09 |back act|ion:....|
|000009e0| 09 09 76 6f 69 64 20 43 | 61 6c 6c 28 74 45 76 65 |..void C|all(tEve|
|000009f0| 6e 74 20 45 76 65 6e 74 | 29 20 7b 20 4d 46 2d 3e |nt Event|) { MF->|
|00000a00| 43 61 6c 6c 28 45 76 65 | 6e 74 29 3b 20 7d 0a 0a |Call(Eve|nt); }..|
|00000a10| 09 09 09 09 70 72 69 76 | 61 74 65 3a 0a 09 09 09 |....priv|ate:....|
|00000a20| 09 09 2f 2f 20 50 6c 61 | 63 65 20 74 6f 20 73 74 |..// Pla|ce to st|
|00000a30| 6f 72 65 20 74 68 65 20 | 63 61 6c 6c 62 61 63 6b |ore the |callback|
|00000a40| 20 6c 69 6e 6b 20 61 64 | 64 72 65 73 73 3a 0a 09 | link ad|dress:..|
|00000a50| 09 09 09 09 74 4d 65 6d | 62 65 72 46 75 6e 63 74 |....tMem|berFunct|
|00000a60| 69 6f 6e 2a 20 4d 46 3b | 0a 09 09 09 7d 0a 0a 09 |ion* MF;|....}...|
|00000a70| 09 09 63 6c 61 73 73 20 | 74 50 61 72 65 6e 74 0a |..class |tParent.|
|00000a80| 09 09 09 7b 0a 09 09 09 | 09 70 75 62 6c 69 63 3a |...{....|.public:|
|00000a90| 0a 09 09 09 09 09 2f 2f | 20 49 6e 69 74 69 61 6c |......//| Initial|
|00000aa0| 69 7a 65 20 65 61 63 68 | 20 63 61 6c 6c 62 61 63 |ize each| callbac|
|00000ab0| 6b 3a 0a 09 09 09 09 09 | 74 50 61 72 65 6e 74 28 |k:......|tParent(|
|00000ac0| 29 20 3a 20 43 68 69 6c | 64 43 61 6c 6c 62 61 63 |) : Chil|dCallbac|
|00000ad0| 6b 28 74 68 69 73 2c 20 | 26 74 50 61 72 65 6e 74 |k(this, |&tParent|
|00000ae0| 3a 3a 43 68 69 6c 64 43 | 61 6c 6c 29 20 7b 7d 0a |::ChildC|all) {}.|
|00000af0| 0a 09 09 09 09 09 2f 2f | 20 49 6e 69 74 69 61 6c |......//| Initial|
|00000b00| 69 7a 65 20 74 68 65 20 | 63 68 69 6c 64 20 6f 62 |ize the |child ob|
|00000b10| 6a 65 63 74 2c 20 70 61 | 73 73 69 6e 67 20 74 68 |ject, pa|ssing th|
|00000b20| 65 20 63 61 6c 6c 62 61 | 63 6b 20 61 64 64 72 65 |e callba|ck addre|
|00000b30| 73 73 3a 0a 09 09 09 09 | 09 74 43 68 69 6c 64 2a |ss:.....|.tChild*|
|00000b40| 20 41 64 64 43 68 69 6c | 64 20 28 29 20 7b 20 72 | AddChil|d () { r|
|00000b50| 65 74 75 72 6e 20 6e 65 | 77 20 74 43 68 69 6c 64 |eturn ne|w tChild|
|00000b60| 28 26 43 68 69 6c 64 43 | 61 6c 6c 62 61 63 6b 29 |(&ChildC|allback)|
|00000b70| 3b 20 7d 0a 0a 09 09 09 | 09 09 2f 2f 20 54 68 65 |; }.....|..// The|
|00000b80| 20 61 63 74 75 61 6c 20 | 63 61 6c 6c 62 61 63 6b | actual |callback|
|00000b90| 20 66 75 6e 63 74 69 6f | 6e 20 74 6f 20 62 65 20 | functio|n to be |
|00000ba0| 65 78 65 63 75 74 65 64 | 3a 0a 09 09 09 09 09 76 |executed|:......v|
|00000bb0| 6f 69 64 20 43 68 69 6c | 64 43 61 6c 6c 28 74 45 |oid Chil|dCall(tE|
|00000bc0| 76 65 6e 74 20 45 76 65 | 6e 74 29 3b 0a 09 09 09 |vent Eve|nt);....|
|00000bd0| 09 70 72 69 76 61 74 65 | 3a 0a 09 09 09 09 09 2f |.private|:....../|
|00000be0| 2f 20 50 6c 61 63 65 20 | 74 6f 20 73 74 6f 72 65 |/ Place |to store|
|00000bf0| 20 74 68 65 20 63 61 6c | 6c 62 61 63 6b 20 64 61 | the cal|lback da|
|00000c00| 74 61 20 28 69 6e 73 74 | 61 6e 63 65 20 61 6e 64 |ta (inst|ance and|
|00000c10| 20 66 75 6e 63 74 69 6f | 6e 29 3a 0a 09 09 09 09 | functio|n):.....|
|00000c20| 09 74 43 61 6c 6c 62 61 | 63 6b 3c 74 50 61 72 65 |.tCallba|ck<tPare|
|00000c30| 6e 74 3e 20 43 68 69 6c | 64 43 61 6c 6c 42 61 63 |nt> Chil|dCallBac|
|00000c40| 6b 3b 0a 09 09 09 7d 0a | 2a 2f 0a 0a 23 65 6e 64 |k;....}.|*/..#end|
|00000c50| 69 66 20 43 41 4c 4c 42 | 41 43 4b 5f 48 0a 0a 0a |if CALLB|ACK_H...|
|00000c60| 0a 0a | |.. | |
+--------+-------------------------+-------------------------+--------+--------+